package org.Raven.trigger.api;

import org.Raven.trigger.api.dto.ActivityDrawRequestDTO;
import org.Raven.trigger.api.dto.ActivityDrawResponseDTO;
import org.Raven.trigger.api.dto.UserActivityAccountRequestDTO;
import org.Raven.trigger.api.dto.UserActivityAccountResponseDTO;
import org.Raven.types.model.Response;

/**
 * @Description 抽奖活动服务
 * @Author Raven
 * @Date 2025/3/11
 */
public interface IRaffleActivityService {
    /**
     * 活动装配，数据预热缓存
     * @param activityId 活动ID
     * @return 装配结果
     */
    Response<Boolean> armory(Long activityId);

    /**
     * 活动抽奖接口
     * @param request 请求对象
     * @return 返回结果
     */
    Response<ActivityDrawResponseDTO> draw(ActivityDrawRequestDTO request);

    /**
     * 日历签到返利接口
     *
     * @param userId 用户ID
     * @return 签到结果
     */
    Response<Boolean> calendarSignRebate(String userId);

    Response<Boolean> isCalendarSignRebate(String userId);



    Response<UserActivityAccountResponseDTO> queryUserActivityAccount(UserActivityAccountRequestDTO request);


}
